﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CoffeeSoft.Contract.Models;
using CoffeeSoft.Data;

namespace CoffeeSoft.Service.MapperProfile
{
    using AutoMapper;

    
    public class InitialMapper 
    {
        public InitialMapper()
        {
             //Agency Profile
            

            // Department Profile
            Mapper.CreateMap<Department, DepartmentModel>();
            Mapper.CreateMap<DepartmentModel, Department>();

            // employer Profile
            Mapper.CreateMap<Employer, EmployerModel>();
            Mapper.CreateMap<EmployerModel, Employer>();

            // export detail  Profile
            Mapper.CreateMap<ExportDetail, ExportDetailModel>();
            Mapper.CreateMap<ExportDetailModel, ExportDetail>();


            // export Profile
            Mapper.CreateMap<Export, ExportModel>();
            Mapper.CreateMap<ExportModel, Export>();

            // import detail Profile
            Mapper.CreateMap<ImportDetail, ImportDetailModel>();
            Mapper.CreateMap<ImportDetailModel, ImportDetail>();

            // import  Profile
            Mapper.CreateMap<Import, ImportModel>();
            Mapper.CreateMap<ImportModel, Import>();

            // item Profile
            Mapper.CreateMap<Item, ItemModel>();
            Mapper.CreateMap<ItemModel, Item>();

            // itemprice Profile
            Mapper.CreateMap<ItemPrice, ItemPriceModel>();
            Mapper.CreateMap<ItemPriceModel, ItemPrice>();

            // item type   Profile
            Mapper.CreateMap<ItemType, ItemTypeModel>();
            Mapper.CreateMap<ItemTypeModel, ItemType>();

            // unit Profile
            Mapper.CreateMap<Unit, UnitModel>();
            Mapper.CreateMap<UnitModel, Unit>();

            // warehouse Profile
            Mapper.CreateMap<WareHouse, WareHouseModel>();
            Mapper.CreateMap<WareHouseModel, WareHouse>();

            // warehouse type   Profile
            Mapper.CreateMap<WareHouseType, WareHouseTypeModel>();
            Mapper.CreateMap<WareHouseTypeModel, WareHouseType>();


            // UserAccount   Profile
            Mapper.CreateMap<UserAccount, UserAccountModel>();
            Mapper.CreateMap<UserAccountModel, UserAccount>();

            // Detail warehouse profile
            Mapper.CreateMap<DetailItemWareHouse, DetailItemWareHouseModel>();
            Mapper.CreateMap<DetailItemWareHouseModel, DetailItemWareHouse>();

           
            // Agency Profile
            Mapper.CreateMap<Company, CompanyModel>();
            Mapper.CreateMap<CompanyModel, Company>();

            // Order Detail Profile
            Mapper.CreateMap<GroupUser, GroupUserModel>();
            Mapper.CreateMap<GroupUserModel, GroupUser>();

            // Detail GroupUser Role Profile
            Mapper.CreateMap<Detail_GroupUserRole, DetailGroupUserRoleModel>();
            Mapper.CreateMap<DetailGroupUserRoleModel, Detail_GroupUserRole>();

            // Area Profile
            Mapper.CreateMap<Area, AreaModel>();
            Mapper.CreateMap<AreaModel, Area>();


            // Table Profile
            Mapper.CreateMap<Table, TableModel>();
            Mapper.CreateMap<TableModel, Table>();



            // REPORTBYEXPORDID_Result Profile
            Mapper.CreateMap<REPORTBYEXPORDID_Result, ReportByExportIdModel>();
            Mapper.CreateMap<ReportByExportIdModel, REPORTBYEXPORDID_Result>();

            // REPORTBYDATE_Result Profile
            Mapper.CreateMap<REPORTBYDATE_Result, ReportByDateModel>();
            Mapper.CreateMap<ReportByDateModel, REPORTBYDATE_Result>();


            // REPORTBYITEM_Result Profile
            Mapper.CreateMap<REPORTBYITEM_Result, ReportByItemModel>();
            Mapper.CreateMap<ReportByItemModel, REPORTBYITEM_Result>();


            // CustomerHistory Profile
            Mapper.CreateMap<CustomerHistory, CustomerHistoryModel>();
            Mapper.CreateMap<CustomerHistoryModel, CustomerHistory>();

            // Customer Profile
            Mapper.CreateMap<Customer, CustomerModel>();
            Mapper.CreateMap<CustomerModel, Customer>();

            // MemberType Profile
            Mapper.CreateMap<MemberType, MemberTypeModel>();
            Mapper.CreateMap<MemberTypeModel, MemberType>();

            // KulExchange Profile
            Mapper.CreateMap<KulExchange, KulExchangeModel>();
            Mapper.CreateMap<KulExchangeModel, KulExchange>();

            // KulExchange Profile
            Mapper.CreateMap<ExportKulExchange, ExportKulExchangeModel>();
            Mapper.CreateMap<ExportKulExchangeModel, ExportKulExchange>();


            // State Profile
            Mapper.CreateMap<State, StateModel>();
            Mapper.CreateMap<StateModel, State>();

            // State Profile
            Mapper.CreateMap<MemberCard, MemberCardModel>();
            Mapper.CreateMap<MemberCardModel, MemberCard>();

            // Material Profile
            Mapper.CreateMap<Material, MaterialModel>();
            Mapper.CreateMap<MaterialModel, Material>();

        }
    }
}
